using STHPMS1.ICore.I_Common;
using STHPMS1.ICore.I_BLL;
using STHPMS1.ICore;
using STHPMS1.ICore.I_Core;
using STHPMS1.Common.C_Extension;
using STHPMS1.ICore.I_BLL.Bus;

namespace STHPMS1.BLL.B_Core
{
	/// <summary>
	/// 业务层接口统一调用处
	/// </summary>
	public class BllFacade : DisposeObject, IBllFacade
	{
		private IBllFactory _factory;

		public IBllFactory Factory {
			get {
				IBllFactory factory = null;
                //if (Scene == null)
                //    factory = MyApp.Locator.GetInstance<IBllFactory> (TypeStringDefinition.BLLFACTORY);
                //else {
					if (_factory == null)
						_factory = MyApp.Locator.GetInstance<IBllFactory> ();
					factory = _factory;
                //}
				System.Diagnostics.Debug.Assert (factory != null, "IBllFactory is null");
				return factory;
			}
		}

		public IScene Scene {
			get;
			set;
		}

		protected override void OnDispose ()
		{
			Factory.Dispose ();
			_factory = null;
		}


        public ITestBill Test
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetTestBill(), this.Scene);
            }
        }

        public IT_RdpciBill T_Rdpci
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetT_RdpciBill(), this.Scene);
            }
        }

        public IB_HistoryBll B_History
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetB_HistoryBll(), this.Scene);
            }
        }

        public IB_InvntoryBill B_Invntory
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetB_InvntoryBill(), this.Scene);
            }
        }

        public IB_RoadwayBill B_Roadway
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetB_RoadwayBill(), this.Scene);
            }
        }
        public IB_PmstcBill B_Pmstc
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetB_PmstcBill(), this.Scene);
            }
        }
        public IB_RdstandardBill B_Rdstandard
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetB_RdstandardBill(), this.Scene);
            }
        }
        public IB_SturctureBill B_Sturcture
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetB_SturctureBill(), this.Scene);
            }
        }
        public IB_UnitBill B_Unit
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetB_UnitBill(), this.Scene);
            }
        }

        public IE_EvaluBill E_Evalu
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetE_EvaluBill(), this.Scene);
            }
        }
        public IE_NetevaluBill E_Netevalu
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetE_NetevaluBill(), this.Scene);
            }
        }

        public IE_RoadwaydetailBill E_Roadwaydetail
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetE_RoadwaydetailBill(), this.Scene);
            }
        }

        public IE_SegevaluBill E_Segevalu
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetE_SegevaluBill(), this.Scene);
            }
        }
        public IS_AxleloadBill S_Axleload
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_AxleloadBill(), this.Scene);
            }
        }
        public IS_BtstrutBill S_Btstrut
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_BtstrutBill(), this.Scene);
            }
        }

        public IS_InspeaccseBill S_Inspeaccse
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_InspeaccseBill(), this.Scene);
            }
        }
        public IS_Pmds_AspBill S_Pmds_Asp
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_Pmds_AspBill(), this.Scene);
            }
        }
        public IS_Pmds_CemBill S_Pmds_Cem
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_Pmds_CemBill(), this.Scene);
            }
        }
        public IS_Pmds_SBill S_Pmds_S
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_Pmds_SBill(), this.Scene);
            }
        }
        public IS_RdcarBill S_Rdcar
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_RdcarBill(), this.Scene);
            }
        }
        public IS_RddfBill S_Rddf
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_RddfBill(), this.Scene);
            }
        }
        public IS_RdfrcBill S_Rdfrc
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_RdfrcBill(), this.Scene);
            }
        }


        public IS_RdfwdBill S_Rdfwd
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_RdfwdBill(), this.Scene);
            }
        }
        public IS_RdpssiBill S_Rdpssi
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_RdpssiBill(), this.Scene);
            }
        }
        public IS_RdrghBill S_Rdrgh
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_RdrghBill(), this.Scene);
            }
        }

        public IS_RuttingBill S_Rutting
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_RuttingBill(), this.Scene);
            }
        }

        public IS_ApplyBill S_Apply
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_ApplyBill(), this.Scene);
            }
        }

        public IS_SubgrdBill S_Subgrd
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_SubgrdBill(), this.Scene);
            }
        }

        public IS_TrfvolsurveyBill S_Trfvolsurvey
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetS_TrfvolsurveyBill(), this.Scene);
            }
        }


        public IExcelBll Excel
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetExcelBill(), this.Scene);
            }
        }
        public IDm_HistperfBill Dm_Histperf
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDm_HistperfBill(), this.Scene);
            }
        }
        public IDm_ModelgroupBill Dm_Modelgroup
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDm_ModelgroupBill(), this.Scene);
            }
        }
        public IDn_Divi_ResultBill Dn_Divi_Result
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDn_Divi_ResultBill(), this.Scene);
            }
        }
        public IDn_Diy_IndexBill Dn_Diy_Index
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDn_Diy_IndexBill(), this.Scene);
            }
        }
        public IDn_Fwd_WayBill Dn_Fwd_Way
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDn_Fwd_WayBill(), this.Scene);
            }
        }

        public IDn_Huamei_WayBill Dn_Huamei_Way
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDn_Huamei_WayBill(), this.Scene);
            }
        }


        public IDn_Oldraod_WayBill Dn_Oldraod_Way
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDn_Oldraod_WayBill(), this.Scene);
            }
        }
        public IDn_Stand_WanBill Dn_Stand_Wan
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDn_Stand_WanBill(), this.Scene);
            }
        }

        public IDn_Traffic_WayBill Dn_Traffic_Way
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDn_Traffic_WayBill(), this.Scene);
            }
        }
        public IDn_Divi_PlanningBill Dn_Divi_Planning
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDn_Divi_PlanningBill(), this.Scene);
            }
        }
        public IDp_CostbenefitBill Dp_Costbenefit
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDp_CostbenefitBill(), this.Scene);
            }
        }
        public IDp_Infect_CoeBill Dp_Infect_Coe
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDp_Infect_CoeBill(), this.Scene);
            }
        }
        public IDp_Infect_ValueBill Dp_Infect_Value
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDp_Infect_ValueBill(), this.Scene);
            }
        }
        public IDp_Prevemeas_IniBill Dp_Prevemeas_Ini
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDp_Prevemeas_IniBill(), this.Scene);
            }
        }
        public IDp_Prevemeas_SecBill Dp_Prevemeas_Sec
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDp_Prevemeas_SecBill(), this.Scene);
            }
        }
        public IDp_Preven_MeaintBill Dp_Preven_Meaint
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDp_Preven_MeaintBill(), this.Scene);
            }
        }
        public IDp_Preven_MeasecBill Dp_Preven_Measec
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDp_Preven_MeasecBill(), this.Scene);
            }
        }

        public IDp_Preven_PlanBill Dp_Preven_Plan
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDp_Preven_PlanBill(), this.Scene);
            }
        }
        public IDp_Proj_RecomBill Dp_Proj_Recom
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDp_Proj_RecomBill(), this.Scene);
            }
        }
        public IDp_Sejud_CalcuBill Dp_Sejud_Calcu
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDp_Sejud_CalcuBill(), this.Scene);
            }
        }
        public IDp_Preventive_ModelBill Dp_Preventive_Model
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDp_Preventive_ModelBill(), this.Scene);
            }
        }
        public IDm_TrafaxleBill Dm_Trafaxle
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDm_TrafaxleBill(), this.Scene);
            }
        }

        public IDp_Preven_DetailBill Dp_Preven_Detail
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDp_Preven_DetailBill(), this.Scene);
            }
        }



        public IB_Invntory_UnitBil B_Invntory_Unit
        {
            get { return CoreExt.ScenceDecorator(Factory.GetB_Invntory_UnitBill(), this.Scene); }
        }


        public IDf_Dailymian_CostBill Df_Dailymian_Cost
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDf_Dailymian_CostBill(), this.Scene);
            }
        }


        public IDm_Default_TrafficBill Dm_Default_Traffic
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDm_Default_TrafficBill(), this.Scene);
            }
        }
        public IDf_Seclass_ProjBill Df_Seclass_Proj
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDf_Seclass_ProjBill(), this.Scene);
            }
        }
        public IDf_Main_CostBill Df_Main_Cost
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDf_Main_CostBill(), this.Scene);
            }
        }
        public IDf_Funlim_ProjBill Df_Funlim_Proj
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDf_Funlim_ProjBill(), this.Scene);
            }
        }
        public IDf_Costmod_ParaBill Df_Costmod_Para
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDf_Costmod_ParaBill(), this.Scene);
            }
        }
        public IB_RoadnetBill B_Roadnet
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetB_RoadnetBill(), this.Scene);
            }
        }
        public IDp_Dailymain_CostBill Dp_Dailymain_Cost
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDp_Dailymain_CostBill(), this.Scene);
            }
        }
        public IDf_Full_OrderBill Df_Full_Order
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDf_Full_OrderBill(), this.Scene);
            }
        }

        public IDr_Repair_LarBill Dr_Repair_Lar
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDr_Repair_LarBill(), this.Scene);
            }
        }
        public IDr_Repair_MidBill Dr_Repair_Mid
        {
            get
            {
                return CoreExt.ScenceDecorator(Factory.GetDr_Repair_MidBill(), this.Scene);
            }
        }


    }
}
